
import matplotlib.pyplot as plt

# 1. 解决中文乱码
plt.rcParams['font.sans-serif'] = ['SimHei']  # 使用黑体显示中文
plt.rcParams['axes.unicode_minus'] = False  # 解决负号显示问题

# 2. 准备数据
name_list = ['核桃', '巧克力', '饼干', '奶酪', '鸭肉', '鸡蛋', '玉米', '香蕉', '豆腐', '苹果', '梨', '白菜', '黄瓜', '番茄']
calorie_list = [646, 589, 435, 328, 240, 144, 112, 93, 87, 53, 51, 20, 16, 15]

# 3. 设置画布（12x6 英寸，150 DPI）
plt.figure(figsize=(12, 6), dpi=150)

# 4. 绘制柱状图
x = range(len(name_list))  # x 轴位置
plt.xticks(x, name_list)  # 设置 x 轴标签
plt.bar(
    x,
    calorie_list,
    width=0.4,  # 柱宽
    color=['#ffaa00' if i > 300 else '#40c000' for i in calorie_list]  # 按热量值设置颜色
)

# 5. 图表修饰
plt.title("常见食物热量柱状图")  # 标题
plt.xlabel("食物名")  # x 轴标签
plt.ylabel("热量（单位：大卡/100克）")  # y 轴标签
plt.grid(linestyle="--", alpha=0.2)  # 虚线网格（透明度 20%）

plt.show()  # 显示图形（非 Notebook 环境需要）